package com.example.ibsp_demo.mapper.content;

import com.example.ibsp_demo.pojo.entity.content.Content;
import com.example.ibsp_demo.pojo.entity.content.Partition; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PartitionMapper {

    // 根据主键查询
    Partition selectByPid(Integer pid);

    // 查询顶级分区（parentId为null）
    List<Partition> selectTopLevelPartitions();

    // 查询子分区（根据parentId）
    List<Partition> selectChildrenByParentId(Integer parentId);

    // 查询所有分区（按排序权重）
    List<Partition> selectAllOrderedBySort();

    // 插入分区
    int insert(Partition partition);

    // 更新分区信息
    int update(Partition partition);

    // 根据主键删除（若有子分区，建议先删除子分区）
    int deleteByPid(Integer pid);

    /*
    * 通过分区查询内容
    *
    * */
    Partition selectByPartitionName(@Param("partitionName") String partitionName);

}